列挙型を DTO に変換する
code:domain.fs
type Color =
| Red
| Blue
| Green
このような型の DTO は、一般的に整数として表現する 文字列でも良いが、名前が変更されたときに手間 radish-miyazaki.icon
code:dto.fs
type Color =
| Red = 1
| Blue = 2
| Green = 3
デシリアライズ する際には、値が定義されたものか必ずチェックする必要がある code:dto.fs
let toDomain dto: Result<Color,_> =
match dto with
| Color.Red -> Ok Domain.Color.Red
| Color.Blue -> Ok Domain.Color.Blue
| Color.Green -> Ok Domain.Color.Green
| _ -> Error (sprintf "Color %O is not one of Red, Green, Blue" dto)